package 链表;

import java.util.ArrayList;
import java.util.List;

public class 剑指No06从尾到头打印链表 {

    /**
     * 输入一个链表的头节点，从尾到头反过来返回每个节点的值（用数组返回）。
     *
     * 示例 1：
     * 输入：head = [1,3,2]
     * 输出：[2,3,1]
     */
    public int[] reversePrint(ListNode head) {
        List<Integer> list=new ArrayList<>();
        dg(head,list);
        int[] arr=new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            arr[i]=list.get(i);
        }
        return arr;
    }

    private void dg(ListNode head,List<Integer> list){

        if(head==null)
            return;

        dg(head.next,list);

        list.add(head.val);
    }

}
